//
//  NSString+mmjExtension.m
//  Social
//
//  Created by seirra on 2018/5/18.
//  Copyright © 2018年 mmj. All rights reserved.
//

#import "NSString+mmjExtension.h"

@implementation NSString (mmjExtension)
//-(unsigned long long)fileSiz{
//
//    //总大小
//    NSUInteger size = 0;
//    //文件夹管理者
//    NSFileManager * manager = [NSFileManager defaultManager];
//    //文件属性
//    NSDictionary*attrs  = [manager attributesOfItemAtPath:self error:nil];
//    if ([[manager attributesOfItemAtPath:self error:nil].fileType isEqualToString:NSFileTypeDirectory]){ // 文件夹
//        NSDirectoryEnumerator * enumerator= [manager enumeratorAtPath:self];
//        //enumerator遍历 / 迭代
//        for (NSString * subpath in enumerator) {
//            //全路径
//            NSString * fullsubpath = [self stringByAppendingPathComponent:subpath];
//            size += [manager attributesOfItemAtPath:fullsubpath error:nil].fileSize;
//        }
//    }
//    else{//文件
//        size =attrs.fileSize;
//    }
//
//    return size;
//}
-(unsigned long long)fileSize{
    // 总大小
    unsigned long long size = 0;
    
    // 文件管理者
    NSFileManager *mgr = [NSFileManager defaultManager];
    
    // 是否为文件夹
    BOOL isDirectory = NO;
    
    // 路径是否存在
    BOOL exists = [mgr fileExistsAtPath:self isDirectory:&isDirectory];
    if (!exists) return size;
    
    if (isDirectory) { // 文件夹
        // 获得文件夹的大小  == 获得文件夹中所有文件的总大小
        NSDirectoryEnumerator *enumerator = [mgr enumeratorAtPath:self];
        for (NSString *subpath in enumerator) {
            // 全路径
            NSString *fullSubpath = [self stringByAppendingPathComponent:subpath];
            // 累加文件大小
            size += [mgr attributesOfItemAtPath:fullSubpath error:nil].fileSize;
        }
    } else { // 文件
        size = [mgr attributesOfItemAtPath:self error:nil].fileSize;
    }
    
    return size;
}

@end
